package com.stylefeng.guns.rest.common.persistence.model;

import java.io.Serializable;

import com.baomidou.mybatisplus.annotations.Version;
import com.baomidou.mybatisplus.enums.IdType;
import java.util.Date;
import com.baomidou.mybatisplus.annotations.TableId;
import com.baomidou.mybatisplus.annotations.TableField;
import com.baomidou.mybatisplus.activerecord.Model;
import com.baomidou.mybatisplus.annotations.TableName;
import java.io.Serializable;

/**
 * <p>
 * 广告表
 * </p>
 *
 * @author ruiyifeng123
 * @since 2019-02-22
 */
@TableName("wz_adv")
public class WzAdv extends Model<WzAdv> {

    private static final long serialVersionUID = 1L;

    /**
     * 广告编号
     */
    @TableId(value = "adv_id", type = IdType.ID_WORKER)
    private Long advId;
    /**
     * 定时红包id
     */
    @TableField("redpacket_id")
    private String redpacketId;
    /**
     * 广告地图id
     */
    @TableField("adv_map_id")
    private String advMapId;
    /**
     * 广告标题
     */
    private String title;
    /**
     * 副标题
     */
    private String subtitle;
    /**
     * 封面图片url
     */
    @TableField("cover_url")
    private String coverUrl;
    /**
     * 广告内容
     */
    @TableField("adv_detail")
    private String advDetail;
    /**
     * 联系商家信息id
     */
    @TableField("user_info_id")
    private Long userInfoId;
    /**
     * 管理员姓名
     */
    @TableField("admin_name")
    private String adminName;
    /**
     * 姓名
     */
    @TableField("modifier_name")
    private String modifierName;
    /**
     * 发布用户编号
     */
    @TableField("user_code")
    private Long userCode;
    /**
     * 昵称
     */
    @TableField("nick_name")
    private String nickName;
    /**
     * 跳转链接
     */
    private String link;
    /**
     * 链接名称
     */
    @TableField("link_name")
    private String linkName;
    /**
     * 分享链接
     */
    @TableField("share_link")
    private String shareLink;
    /**
     * 分享描述
     */
    @TableField("share_desc")
    private String shareDesc;
    /**
     * 分享金额
     */
    @TableField("share_reward")
    private Integer shareReward;
    /**
     * 分享人均收益
     */
    @TableField("share_average_reward")
    private Integer shareAverageReward;
    /**
     * 是否分享结算:0-不需要结算;1-需要结算;
     */
    @TableField("is_share_settlement")
    private Integer isShareSettlement;
    /**
     * 头像
     */
    @TableField("avatar_url")
    private String avatarUrl;
    /**
     * 发布类型：1-后台发布；2-商家发布；3-用户发布
     */
    @TableField("publishing_type")
    private Integer publishingType;
    /**
     * 类型：1-非即时广告；2-即时广告
     */
    private Integer type;
    /**
     * 子类型:1-广告;2-新闻;3-调查问卷;4-商家问卷;5-广告问卷;6-知识问卷;100-开启定位;101-数据统计;102-暂无信息;103-新手指导;
     */
    private Integer subtype;
    /**
     * 状态：1-编辑中；2-审核中；3-审核驳回；4-审核通过；5-发布中人数未满；6-发布中人数已满;7-失效；8-失效处理
     */
    private Integer status;
    /**
     * 创建时间
     */
    @TableField("create_time")
    private Date createTime;
    /**
     * 发布时间
     */
    @TableField("release_time")
    private Date releaseTime;
    /**
     * 推送人数
     */
    @TableField("push_number")
    private Integer pushNumber;
    /**
     * 总数量
     */
    @TableField("total_number")
    private Integer totalNumber;
    /**
     * 日推总数
     */
    @TableField("daily_total_number")
    private Integer dailyTotalNumber;
    /**
     * 日推数量
     */
    @TableField("daily_push_number")
    private Integer dailyPushNumber;
    /**
     * 广告发布费用
     */
    private Integer expense;
    /**
     * 订单总金额
     */
    @TableField("order_amount")
    private Integer orderAmount;
    /**
     * 赏金总额
     */
    @TableField("total_reward")
    private Integer totalReward;
    /**
     * 剩余赏金
     */
    @TableField("surplus_reward")
    private Integer surplusReward;
    /**
     * 推送类型：1-手动发布；2-定时发布
     */
    @TableField("push_type")
    private Integer pushType;
    /**
     * 用户赏金
     */
    @TableField("reward_average")
    private Integer rewardAverage;
    /**
     * 开始时间
     */
    @TableField("begin_time")
    private Date beginTime;
    /**
     * 结束时间
     */
    @TableField("end_time")
    private Date endTime;
    /**
     * 筛选所在城市
     */
    @TableField("screen_city")
    private String screenCity;
    /**
     * 编辑人员
     */
    @TableField("editor_name")
    private String editorName;
    /**
     * 编辑员评分
     */
    @TableField("editor_grade")
    private Integer editorGrade;
    /**
     * 业务员评分
     */
    @TableField("salesman_grade")
    private Integer salesmanGrade;
    /**
     * 备注
     */
    private String remark;
    /**
     * 排名奖励
     */
    @TableField("rank_reward")
    private String rankReward;

    @Version
    private Integer version;


    public Long getAdvId() {
        return advId;
    }

    public void setAdvId(Long advId) {
        this.advId = advId;
    }

    public String getRedpacketId() {
        return redpacketId;
    }

    public void setRedpacketId(String redpacketId) {
        this.redpacketId = redpacketId;
    }

    public String getAdvMapId() {
        return advMapId;
    }

    public void setAdvMapId(String advMapId) {
        this.advMapId = advMapId;
    }

    public String getTitle() {
        return title;
    }

    public void setTitle(String title) {
        this.title = title;
    }

    public String getSubtitle() {
        return subtitle;
    }

    public void setSubtitle(String subtitle) {
        this.subtitle = subtitle;
    }

    public String getCoverUrl() {
        return coverUrl;
    }

    public void setCoverUrl(String coverUrl) {
        this.coverUrl = coverUrl;
    }

    public String getAdvDetail() {
        return advDetail;
    }

    public void setAdvDetail(String advDetail) {
        this.advDetail = advDetail;
    }

    public Long getUserInfoId() {
        return userInfoId;
    }

    public void setUserInfoId(Long userInfoId) {
        this.userInfoId = userInfoId;
    }

    public String getAdminName() {
        return adminName;
    }

    public void setAdminName(String adminName) {
        this.adminName = adminName;
    }

    public String getModifierName() {
        return modifierName;
    }

    public void setModifierName(String modifierName) {
        this.modifierName = modifierName;
    }

    public Long getUserCode() {
        return userCode;
    }

    public void setUserCode(Long userCode) {
        this.userCode = userCode;
    }

    public String getNickName() {
        return nickName;
    }

    public void setNickName(String nickName) {
        this.nickName = nickName;
    }

    public String getLink() {
        return link;
    }

    public void setLink(String link) {
        this.link = link;
    }

    public String getLinkName() {
        return linkName;
    }

    public void setLinkName(String linkName) {
        this.linkName = linkName;
    }

    public String getShareLink() {
        return shareLink;
    }

    public void setShareLink(String shareLink) {
        this.shareLink = shareLink;
    }

    public String getShareDesc() {
        return shareDesc;
    }

    public void setShareDesc(String shareDesc) {
        this.shareDesc = shareDesc;
    }

    public Integer getShareReward() {
        return shareReward;
    }

    public void setShareReward(Integer shareReward) {
        this.shareReward = shareReward;
    }

    public Integer getShareAverageReward() {
        return shareAverageReward;
    }

    public void setShareAverageReward(Integer shareAverageReward) {
        this.shareAverageReward = shareAverageReward;
    }

    public Integer getIsShareSettlement() {
        return isShareSettlement;
    }

    public void setIsShareSettlement(Integer isShareSettlement) {
        this.isShareSettlement = isShareSettlement;
    }

    public String getAvatarUrl() {
        return avatarUrl;
    }

    public void setAvatarUrl(String avatarUrl) {
        this.avatarUrl = avatarUrl;
    }

    public Integer getPublishingType() {
        return publishingType;
    }

    public void setPublishingType(Integer publishingType) {
        this.publishingType = publishingType;
    }

    public Integer getType() {
        return type;
    }

    public void setType(Integer type) {
        this.type = type;
    }

    public Integer getSubtype() {
        return subtype;
    }

    public void setSubtype(Integer subtype) {
        this.subtype = subtype;
    }

    public Integer getStatus() {
        return status;
    }

    public void setStatus(Integer status) {
        this.status = status;
    }

    public Date getCreateTime() {
        return createTime;
    }

    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    public Date getReleaseTime() {
        return releaseTime;
    }

    public void setReleaseTime(Date releaseTime) {
        this.releaseTime = releaseTime;
    }

    public Integer getPushNumber() {
        return pushNumber;
    }

    public void setPushNumber(Integer pushNumber) {
        this.pushNumber = pushNumber;
    }

    public Integer getTotalNumber() {
        return totalNumber;
    }

    public void setTotalNumber(Integer totalNumber) {
        this.totalNumber = totalNumber;
    }

    public Integer getDailyTotalNumber() {
        return dailyTotalNumber;
    }

    public void setDailyTotalNumber(Integer dailyTotalNumber) {
        this.dailyTotalNumber = dailyTotalNumber;
    }

    public Integer getDailyPushNumber() {
        return dailyPushNumber;
    }

    public void setDailyPushNumber(Integer dailyPushNumber) {
        this.dailyPushNumber = dailyPushNumber;
    }

    public Integer getExpense() {
        return expense;
    }

    public void setExpense(Integer expense) {
        this.expense = expense;
    }

    public Integer getOrderAmount() {
        return orderAmount;
    }

    public void setOrderAmount(Integer orderAmount) {
        this.orderAmount = orderAmount;
    }

    public Integer getTotalReward() {
        return totalReward;
    }

    public void setTotalReward(Integer totalReward) {
        this.totalReward = totalReward;
    }

    public Integer getSurplusReward() {
        return surplusReward;
    }

    public void setSurplusReward(Integer surplusReward) {
        this.surplusReward = surplusReward;
    }

    public Integer getPushType() {
        return pushType;
    }

    public void setPushType(Integer pushType) {
        this.pushType = pushType;
    }

    public Integer getRewardAverage() {
        return rewardAverage;
    }

    public void setRewardAverage(Integer rewardAverage) {
        this.rewardAverage = rewardAverage;
    }

    public Date getBeginTime() {
        return beginTime;
    }

    public void setBeginTime(Date beginTime) {
        this.beginTime = beginTime;
    }

    public Date getEndTime() {
        return endTime;
    }

    public void setEndTime(Date endTime) {
        this.endTime = endTime;
    }

    public String getScreenCity() {
        return screenCity;
    }

    public void setScreenCity(String screenCity) {
        this.screenCity = screenCity;
    }

    public String getEditorName() {
        return editorName;
    }

    public void setEditorName(String editorName) {
        this.editorName = editorName;
    }

    public Integer getEditorGrade() {
        return editorGrade;
    }

    public void setEditorGrade(Integer editorGrade) {
        this.editorGrade = editorGrade;
    }

    public Integer getSalesmanGrade() {
        return salesmanGrade;
    }

    public void setSalesmanGrade(Integer salesmanGrade) {
        this.salesmanGrade = salesmanGrade;
    }

    public String getRemark() {
        return remark;
    }

    public void setRemark(String remark) {
        this.remark = remark;
    }

    public String getRankReward() {
        return rankReward;
    }

    public void setRankReward(String rankReward) {
        this.rankReward = rankReward;
    }

    public Integer getVersion() {
        return version;
    }

    public void setVersion(Integer version) {
        this.version = version;
    }

    @Override
    protected Serializable pkVal() {
        return this.advId;
    }

    @Override
    public String toString() {
        return "WzAdv{" +
        "advId=" + advId +
        ", redpacketId=" + redpacketId +
        ", advMapId=" + advMapId +
        ", title=" + title +
        ", subtitle=" + subtitle +
        ", coverUrl=" + coverUrl +
        ", advDetail=" + advDetail +
        ", userInfoId=" + userInfoId +
        ", adminName=" + adminName +
        ", modifierName=" + modifierName +
        ", userCode=" + userCode +
        ", nickName=" + nickName +
        ", link=" + link +
        ", linkName=" + linkName +
        ", shareLink=" + shareLink +
        ", shareDesc=" + shareDesc +
        ", shareReward=" + shareReward +
        ", shareAverageReward=" + shareAverageReward +
        ", isShareSettlement=" + isShareSettlement +
        ", avatarUrl=" + avatarUrl +
        ", publishingType=" + publishingType +
        ", type=" + type +
        ", subtype=" + subtype +
        ", status=" + status +
        ", createTime=" + createTime +
        ", releaseTime=" + releaseTime +
        ", pushNumber=" + pushNumber +
        ", totalNumber=" + totalNumber +
        ", dailyTotalNumber=" + dailyTotalNumber +
        ", dailyPushNumber=" + dailyPushNumber +
        ", expense=" + expense +
        ", orderAmount=" + orderAmount +
        ", totalReward=" + totalReward +
        ", surplusReward=" + surplusReward +
        ", pushType=" + pushType +
        ", rewardAverage=" + rewardAverage +
        ", beginTime=" + beginTime +
        ", endTime=" + endTime +
        ", screenCity=" + screenCity +
        ", editorName=" + editorName +
        ", editorGrade=" + editorGrade +
        ", salesmanGrade=" + salesmanGrade +
        ", remark=" + remark +
        ", rankReward=" + rankReward +
        ", version=" + version +
        "}";
    }
}
